#ifndef LIST_H
#define LIST_H

typedef struct s_ListInt{
    char *name;
    int size;
    int list[];
} ListInt;

#define EOLIST -1

int ListSum(ListInt *list);
void ListPrint(ListInt *list);
int ListCount(ListInt *list, int num);
ListInt *ListAllocate(char *name, int size);
ListInt *ListCopy(ListInt *list);
void ListSumList(ListInt *list);
int ListGetIndex(ListInt *list, int num);
ListInt *ListBuildBlock(ListInt *list);
int *ListExpand(ListInt *list);

ListInt *ListBuildPacked(ListInt *list);
ListInt *ListBuildReversePacked(ListInt *list);

#endif
